\hypertarget{_python_calls_java_8cc}{
\subsection{PythonCallsJava.cc File Reference}
\label{_python_calls_java_8cc}\index{PythonCallsJava.cc@{PythonCallsJava.cc}}
}


PythonCallsJava main file.  


\subsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmthd_sign}{mthdSign}
\begin{DoxyCompactList}\small\item\em A struct to store parsed signature. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{_python_calls_java_8cc_a5f76eb4a3025766302b5e6aa7761c518}{amicoInitialize} (int nOptions,...)
\begin{DoxyCompactList}\small\item\em Intializes {\ttfamily amico} library. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_aad5a9b2d342f9fa499848b3835e1667a}{callBooleanArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
unsigned char \hyperlink{_python_calls_java_8cc_ab0d7f5cadbd8bc5e4fcb6592f5fea484}{callBooleanMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_a4b515e00f4fd9c4049a22d541db16eaf}{callByteArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
signed char \hyperlink{_python_calls_java_8cc_a6dfd141f95282f8eaf8933c43239b2f8}{callByteMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_aafe70ff94748c1f2dada42a2b9adb71f}{callCharArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
unsigned short \hyperlink{_python_calls_java_8cc_a5981f90cc13645c487620af90ebfbbb9}{callCharMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_ad62c7eaa25a6451662776683d997839d}{callDoubleArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
double \hyperlink{_python_calls_java_8cc_a8823c98cc1a700b0bc11f33811d0735b}{callDoubleMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_a97225f6326607b8ee108cf2bc451ea50}{callFloatArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
float \hyperlink{_python_calls_java_8cc_a57ae77f651b12b6d87ada38de3ece551}{callFloatMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_ac7a4098bd5b32c8d9c29413b2e32a3f0}{callIntArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
int \hyperlink{_python_calls_java_8cc_aaf713792968011c2cde5f7072df4a266}{callIntMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
jobject \hyperlink{_python_calls_java_8cc_a4f46bc34e9233d2e418b7098bf82ae50}{callJObjectMethod} (void $\ast$midUInt, std::string signature, va\_\-list vl)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
jobject \hyperlink{_python_calls_java_8cc_ae168a0e2182e57649903f316e9e82831}{callJObjectMethodL} (void $\ast$midUInt, std::string signature,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_a61dc69396abbc348bf6ff39221cfd1cb}{callLongArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
long \hyperlink{_python_calls_java_8cc_a434ffb8601eb2fe5514188abeaf3df92}{callLongMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\T \hyperlink{_python_calls_java_8cc_a643aeca0c37abc6aa721843923918cf2}{callMethodByType} (void $\ast$midUInt, std::queue$<$ char $>$ \&type, jvalue $\ast$args)
\begin{DoxyCompactList}\small\item\em Generalizes call of the {\ttfamily Call$<$Type$>$MethodA} {\ttfamily JNI} function. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\jobject \hyperlink{_python_calls_java_8cc_ac390fdb4be062d945a41b41505535d9d}{callMethodByType$<$ jobject $>$} (void $\ast$midUInt, std::queue$<$ char $>$ \&type, jvalue $\ast$args)
\begin{DoxyCompactList}\small\item\em Instantiated from callMethodByType for {\itshape T\/} = {\ttfamily jobject}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$$>$ }\\std::string \hyperlink{_python_calls_java_8cc_aa0e949b03e5d19264037916a0f51fb1d}{callMethodByType$<$ std::string $>$} (void $\ast$midUInt, std::queue$<$ char $>$ \&type, jvalue $\ast$args)
\begin{DoxyCompactList}\small\item\em Instantiated from callMethodByType for {\itshape T\/} = {\ttfamily jobject} (result type is string). \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_aadcc0dbc3a2ea88ce2219e43cdbbb758}{callShortArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
short \hyperlink{_python_calls_java_8cc_a0ab442f171a292858d79325a01c16a40}{callShortMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
PyObject $\ast$ \hyperlink{_python_calls_java_8cc_aa02c281af74e1387183b776849f49c81}{callStringArrayMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{_python_calls_java_8cc_a26d45f8e249da512169963a749c05391}{callStringMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\T \hyperlink{_python_calls_java_8cc_a1cdf21728e4325bda042d4eb5d517483}{callTMethod} (void $\ast$midUInt, std::string signature, va\_\-list vl)
\begin{DoxyCompactList}\small\item\em Builds arguments array and calls {\ttfamily callMethodByType}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename TypeArray , typename Type $>$ }\\PyObject $\ast$ \hyperlink{_python_calls_java_8cc_a8fa7ee0be41ef931546614539866f6c4}{callTypeArrayMethod} (void $\ast$midUInt, va\_\-list vl)
\begin{DoxyCompactList}\small\item\em Generalizes call of the {\ttfamily convertJavaArrayToPythonArray} function and {\ttfamily JNI} {\ttfamily CallObjectMethod} function. \item\end{DoxyCompactList}\item 
void \hyperlink{_python_calls_java_8cc_aeb06b15b0b7b498ece994c99b3f81960}{callVoidMethod} (void $\ast$midUInt,...)
\begin{DoxyCompactList}\small\item\em Invokes an instance method, specified using a method ID. \item\end{DoxyCompactList}\item 
bool \hyperlink{_python_calls_java_8cc_a32d01c592fb3c6e7a8112ce2ea19183f}{check\_\-midUInt} (void $\ast$midUInt)
\begin{DoxyCompactList}\small\item\em Validates ID of the method. \item\end{DoxyCompactList}\item 
void \hyperlink{_python_calls_java_8cc_a3a81e7d58cdb84e5f0aa2ae685d69bb0}{destroyEnvironment} ()
\begin{DoxyCompactList}\small\item\em Unloads {\ttfamily Java} class from the memory and destroys {\ttfamily JVM}. \item\end{DoxyCompactList}\item 
void \hyperlink{_python_calls_java_8cc_aa5069e2ed1f9526484d49b722953f397}{destroyVM} ()
\begin{DoxyCompactList}\small\item\em Destroys {\ttfamily Java} {\ttfamily Virtual} {\ttfamily Machine}. \item\end{DoxyCompactList}\item 
jobject \hyperlink{_python_calls_java_8cc_a6c6824670f9624721a272f163e020408}{getJArray} (char type, int sizeArrayPos, va\_\-list vl)
\begin{DoxyCompactList}\small\item\em Generalizes call of the {\ttfamily convertPythonArrayToJavaArray} function. \item\end{DoxyCompactList}\item 
void $\ast$ \hyperlink{_python_calls_java_8cc_a27596895923d8dd22bfe8acc49234abe}{getMethod} (const char $\ast$mName, const char $\ast$mSign)
\begin{DoxyCompactList}\small\item\em Gets an ID of the method and returns pointer to it. Pointer in {\ttfamily Python} is stored like a number. \item\end{DoxyCompactList}\item 
jmethodID \hyperlink{_python_calls_java_8cc_a8577bb598f76ce878e916374f107b570}{getMethodIDSafe} (const char $\ast$methodName, const char $\ast$methodSig)
\begin{DoxyCompactList}\small\item\em Takes a jmethodID of the method by it's name and signature and validates it. \item\end{DoxyCompactList}\item 
std::string \hyperlink{_python_calls_java_8cc_a83ade9271b74a54cf1d53dd4574553bd}{getMethodSignature} (void $\ast$midUInt)
\begin{DoxyCompactList}\small\item\em Takes signature of the method from {\itshape jmIDSignature\/} map by it's ID. \item\end{DoxyCompactList}\item 
void \hyperlink{_python_calls_java_8cc_a4ffcd31c6b497b6f63c7abc34e9672ad}{loadJavaClass} (const char $\ast$javaClassName)
\begin{DoxyCompactList}\small\item\em Loads a {\ttfamily Java} class in to the memory. \item\end{DoxyCompactList}\item 
\hyperlink{structmthd_sign}{mthdSign} \hyperlink{_python_calls_java_8cc_a8ab3a435f8f413654bc0801001d3cda9}{parseSignature} (std::string signature)
\begin{DoxyCompactList}\small\item\em Parses signature. \item\end{DoxyCompactList}\item 
void \hyperlink{_python_calls_java_8cc_ad99601dff0a42852bc408d860ccbf358}{setSizeOfArrays} (unsigned int size, unsigned int $\ast$arrays)
\begin{DoxyCompactList}\small\item\em Sets size of passed to the AmiCo function array(s). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
unsigned int $\ast$ \hyperlink{_python_calls_java_8cc_aaf82e267c954d30710a4a365cdb715f8}{arraysSize}
\begin{DoxyCompactList}\small\item\em Dynamic array keeping number of elements in corresponding array in method args. \item\end{DoxyCompactList}\item 
static JNIEnv $\ast$ \hyperlink{_python_calls_java_8cc_ae6f0d0cd46e56b7e299b489cb60dd27e}{env} = NULL
\item 
const char \hyperlink{_python_calls_java_8cc_a5792920d3d8188af9a80a3eca7886d23}{funcSeparator} = '\#'
\item 
static jclass \hyperlink{_python_calls_java_8cc_a342134da4f7dd0344f4f02af36baa5da}{jClass}
\item 
static std::map$<$ jmethodID, std::string $>$ \hyperlink{_python_calls_java_8cc_a7a2415b8319fe15dab12047468d7673e}{jmIDSignature}
\item 
static JavaVM $\ast$ \hyperlink{_python_calls_java_8cc_ae8e48b7427f5ca0ab2b6c21d5df648c8}{jvm}
\item 
const int \hyperlink{_python_calls_java_8cc_ac1aab4da7801a077a88fb9cb05c737c5}{JVM\_\-VERSION} = 0x00010004
\item 
static jobject \hyperlink{_python_calls_java_8cc_aa793a9cac000767559a9e52b6e96d127}{obj}
\item 
static std::map$<$ std::string, jmethodID $>$ \hyperlink{_python_calls_java_8cc_ab9ebfb29facb4ab432768d7f3e22eb42}{usedIDs}
\begin{DoxyCompactList}\small\item\em Name of the method is a string consists from three parts: name of the method, {\ttfamily funcSeparator} and signature. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
PythonCallsJava main file. \begin{DoxyAuthor}{Author}
Sergey.Karakovskiy at idsia.ch, Nikolay.Sohryakov at gmail.com
\end{DoxyAuthor}
Keep in mind, that ID of the {\ttfamily Java} method is a pointer to the {\ttfamily \_\-jmethodID} {\ttfamily Java} class or just simply value of type {\ttfamily jmethodID}. 

Definition in file \hyperlink{_python_calls_java_8cc_source}{PythonCallsJava.cc}.



\subsubsection{Function Documentation}
\hypertarget{_python_calls_java_8cc_a5f76eb4a3025766302b5e6aa7761c518}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!amicoInitialize@{amicoInitialize}}
\index{amicoInitialize@{amicoInitialize}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{amicoInitialize}]{\setlength{\rightskip}{0pt plus 5cm}void amicoInitialize (int {\em nOptions}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a5f76eb4a3025766302b5e6aa7761c518}


Intializes {\ttfamily amico} library. 

Creates a {\ttfamily JVM} with given startup options. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em nOptions}]Number of startup options. \item[{\em ...}]variable list of {\ttfamily JVM} startup options given as strings(i.e. each parameter is a separate startup option). \end{DoxyParams}


Definition at line 138 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aad5a9b2d342f9fa499848b3835e1667a}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callBooleanArrayMethod@{callBooleanArrayMethod}}
\index{callBooleanArrayMethod@{callBooleanArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callBooleanArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callBooleanArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_aad5a9b2d342f9fa499848b3835e1667a}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callBooleanArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1226 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ab0d7f5cadbd8bc5e4fcb6592f5fea484}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callBooleanMethod@{callBooleanMethod}}
\index{callBooleanMethod@{callBooleanMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callBooleanMethod}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char callBooleanMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_ab0d7f5cadbd8bc5e4fcb6592f5fea484}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callBooleanMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily unsigned} {\ttfamily char} type. 
\end{DoxyReturn}


Definition at line 876 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a4b515e00f4fd9c4049a22d541db16eaf}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callByteArrayMethod@{callByteArrayMethod}}
\index{callByteArrayMethod@{callByteArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callByteArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callByteArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a4b515e00f4fd9c4049a22d541db16eaf}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callByteArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1200 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a6dfd141f95282f8eaf8933c43239b2f8}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callByteMethod@{callByteMethod}}
\index{callByteMethod@{callByteMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callByteMethod}]{\setlength{\rightskip}{0pt plus 5cm}signed char callByteMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a6dfd141f95282f8eaf8933c43239b2f8}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callByteMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily signed} {\ttfamily char} type. 
\end{DoxyReturn}


Definition at line 845 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aafe70ff94748c1f2dada42a2b9adb71f}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callCharArrayMethod@{callCharArrayMethod}}
\index{callCharArrayMethod@{callCharArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callCharArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callCharArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_aafe70ff94748c1f2dada42a2b9adb71f}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callCharArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1252 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a5981f90cc13645c487620af90ebfbbb9}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callCharMethod@{callCharMethod}}
\index{callCharMethod@{callCharMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callCharMethod}]{\setlength{\rightskip}{0pt plus 5cm}unsigned short callCharMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a5981f90cc13645c487620af90ebfbbb9}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callCharMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily unsigned} {\ttfamily short} type. 
\end{DoxyReturn}


Definition at line 814 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ad62c7eaa25a6451662776683d997839d}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callDoubleArrayMethod@{callDoubleArrayMethod}}
\index{callDoubleArrayMethod@{callDoubleArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callDoubleArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callDoubleArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_ad62c7eaa25a6451662776683d997839d}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callDoubleArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1301 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a8823c98cc1a700b0bc11f33811d0735b}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callDoubleMethod@{callDoubleMethod}}
\index{callDoubleMethod@{callDoubleMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callDoubleMethod}]{\setlength{\rightskip}{0pt plus 5cm}double callDoubleMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a8823c98cc1a700b0bc11f33811d0735b}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callDoubleMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily double} type. 
\end{DoxyReturn}


Definition at line 973 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a97225f6326607b8ee108cf2bc451ea50}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callFloatArrayMethod@{callFloatArrayMethod}}
\index{callFloatArrayMethod@{callFloatArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callFloatArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callFloatArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a97225f6326607b8ee108cf2bc451ea50}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callFloatArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1275 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a57ae77f651b12b6d87ada38de3ece551}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callFloatMethod@{callFloatMethod}}
\index{callFloatMethod@{callFloatMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callFloatMethod}]{\setlength{\rightskip}{0pt plus 5cm}float callFloatMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a57ae77f651b12b6d87ada38de3ece551}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callFloatMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily float} type.
\end{DoxyReturn}
\begin{Desc}
\item[\hyperlink{todo__todo000001}{Todo}]fix explanation about how to pass float types parameters from {\ttfamily Python} \end{Desc}
\begin{DoxyAttention}{Attention}
pass options here like c\_\-double 
\end{DoxyAttention}


Definition at line 942 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ac7a4098bd5b32c8d9c29413b2e32a3f0}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callIntArrayMethod@{callIntArrayMethod}}
\index{callIntArrayMethod@{callIntArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callIntArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callIntArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_ac7a4098bd5b32c8d9c29413b2e32a3f0}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callIntArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1122 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aaf713792968011c2cde5f7072df4a266}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callIntMethod@{callIntMethod}}
\index{callIntMethod@{callIntMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callIntMethod}]{\setlength{\rightskip}{0pt plus 5cm}int callIntMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_aaf713792968011c2cde5f7072df4a266}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callIntMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily integer} type. 
\end{DoxyReturn}


Definition at line 721 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a4f46bc34e9233d2e418b7098bf82ae50}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callJObjectMethod@{callJObjectMethod}}
\index{callJObjectMethod@{callJObjectMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callJObjectMethod}]{\setlength{\rightskip}{0pt plus 5cm}jobject callJObjectMethod (void $\ast$ {\em midUInt}, \/  std::string {\em signature}, \/  va\_\-list {\em vl})}\hfill}
\label{_python_calls_java_8cc_a4f46bc34e9233d2e418b7098bf82ae50}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily signature} argument. The {\ttfamily callJObjectMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em signature}]Signature of the method. \item[{\em vl}]Additional arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily jobject} type. 
\end{DoxyReturn}


Definition at line 1005 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ae168a0e2182e57649903f316e9e82831}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callJObjectMethodL@{callJObjectMethodL}}
\index{callJObjectMethodL@{callJObjectMethodL}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callJObjectMethodL}]{\setlength{\rightskip}{0pt plus 5cm}jobject callJObjectMethodL (void $\ast$ {\em midUInt}, \/  std::string {\em signature}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_ae168a0e2182e57649903f316e9e82831}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily signature} argument. The {\ttfamily callJObjectMethodL} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em signature}]Signature of the method. \item[{\em ...}]Additional arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily jobject} type. 
\end{DoxyReturn}


Definition at line 1030 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a61dc69396abbc348bf6ff39221cfd1cb}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callLongArrayMethod@{callLongArrayMethod}}
\index{callLongArrayMethod@{callLongArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callLongArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callLongArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a61dc69396abbc348bf6ff39221cfd1cb}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callLongArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1148 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a434ffb8601eb2fe5514188abeaf3df92}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callLongMethod@{callLongMethod}}
\index{callLongMethod@{callLongMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callLongMethod}]{\setlength{\rightskip}{0pt plus 5cm}long callLongMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a434ffb8601eb2fe5514188abeaf3df92}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callLongMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily long} type. 
\end{DoxyReturn}


Definition at line 783 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a643aeca0c37abc6aa721843923918cf2}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callMethodByType@{callMethodByType}}
\index{callMethodByType@{callMethodByType}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callMethodByType}]{\setlength{\rightskip}{0pt plus 5cm}T callMethodByType (void $\ast$ {\em midUInt}, \/  std::queue$<$ char $>$ \& {\em type}, \/  jvalue $\ast$ {\em args})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_a643aeca0c37abc6aa721843923918cf2}


Generalizes call of the {\ttfamily Call$<$Type$>$MethodA} {\ttfamily JNI} function. 

Calls {\ttfamily Call$<$Type$>$MethodA} depend on type given as char(from element in the queue {\itshape type\/}).


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method. \item[{\em type}]Parsed argument part of the signature of the method \item[{\em args}]Array of arguments to be passed in to the {\ttfamily Java} method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Result of performing of the Call$<$Type$>$MethodA. 
\end{DoxyReturn}


Instantiated for {\ttfamily type.front()} = {\ttfamily 'L'} (result type is a string)

TODO: fix it. 



Definition at line 337 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ac390fdb4be062d945a41b41505535d9d}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callMethodByType$<$ jobject $>$@{callMethodByType$<$ jobject $>$}}
\index{callMethodByType$<$ jobject $>$@{callMethodByType$<$ jobject $>$}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callMethodByType$<$ jobject $>$}]{\setlength{\rightskip}{0pt plus 5cm}jobject callMethodByType$<$ jobject $>$ (void $\ast$ {\em midUInt}, \/  std::queue$<$ char $>$ \& {\em type}, \/  jvalue $\ast$ {\em args})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_ac390fdb4be062d945a41b41505535d9d}


Instantiated from callMethodByType for {\itshape T\/} = {\ttfamily jobject}. 


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method. \item[{\em type}]Parsed argument part of the signature of the method \item[{\em args}]Array of arguments to be passed in to the {\ttfamily Java} method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Result of performing of the CallObjectMethodA. 
\end{DoxyReturn}
\hypertarget{_python_calls_java_8cc_aa0e949b03e5d19264037916a0f51fb1d}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callMethodByType$<$ std::string $>$@{callMethodByType$<$ std::string $>$}}
\index{callMethodByType$<$ std::string $>$@{callMethodByType$<$ std::string $>$}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callMethodByType$<$ std::string $>$}]{\setlength{\rightskip}{0pt plus 5cm}std::string callMethodByType$<$ std::string $>$ (void $\ast$ {\em midUInt}, \/  std::queue$<$ char $>$ \& {\em type}, \/  jvalue $\ast$ {\em args})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_aa0e949b03e5d19264037916a0f51fb1d}


Instantiated from callMethodByType for {\itshape T\/} = {\ttfamily jobject} (result type is string). 


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method. \item[{\em type}]Parsed argument part of the signature of the method \item[{\em args}]Array of arguments to be passed in to the {\ttfamily Java} method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Result of performing of the CallObjectMethodA. 
\end{DoxyReturn}
\hypertarget{_python_calls_java_8cc_aadcc0dbc3a2ea88ce2219e43cdbbb758}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callShortArrayMethod@{callShortArrayMethod}}
\index{callShortArrayMethod@{callShortArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callShortArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callShortArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_aadcc0dbc3a2ea88ce2219e43cdbbb758}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callShortArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1174 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a0ab442f171a292858d79325a01c16a40}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callShortMethod@{callShortMethod}}
\index{callShortMethod@{callShortMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callShortMethod}]{\setlength{\rightskip}{0pt plus 5cm}short callShortMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a0ab442f171a292858d79325a01c16a40}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callShortMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily short} type. 
\end{DoxyReturn}


Definition at line 752 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aa02c281af74e1387183b776849f49c81}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callStringArrayMethod@{callStringArrayMethod}}
\index{callStringArrayMethod@{callStringArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callStringArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callStringArrayMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_aa02c281af74e1387183b776849f49c81}


Invokes an instance method, specified using a method ID. 

Invokes an instance method, specified using a method ID. Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callStringArrayMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The result of calling the method -\/-\/-\/ {\ttfamily Python} tuple. 
\end{DoxyReturn}


Definition at line 1327 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a26d45f8e249da512169963a749c05391}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callStringMethod@{callStringMethod}}
\index{callStringMethod@{callStringMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callStringMethod}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ callStringMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_a26d45f8e249da512169963a749c05391}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callStringMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily The} result of calling the method. Value of the {\ttfamily char$\ast$} type. 
\end{DoxyReturn}


Definition at line 907 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a1cdf21728e4325bda042d4eb5d517483}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callTMethod@{callTMethod}}
\index{callTMethod@{callTMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callTMethod}]{\setlength{\rightskip}{0pt plus 5cm}T callTMethod (void $\ast$ {\em midUInt}, \/  std::string {\em signature}, \/  va\_\-list {\em vl})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_a1cdf21728e4325bda042d4eb5d517483}


Builds arguments array and calls {\ttfamily callMethodByType}. 

Creates an array of {\ttfamily jvalue} and converts elements from variable list in to {\ttfamily JNI} types. Type is determined by it's symbol name in the signature in turn.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method. \item[{\em signature}]Signature of the method given as string. \item[{\em vl}]Pointer to the variable list with arguments to be passed in to the {\ttfamily Java} method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Result of performing {\ttfamily Java} method. 
\end{DoxyReturn}


Definition at line 564 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a8fa7ee0be41ef931546614539866f6c4}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callTypeArrayMethod@{callTypeArrayMethod}}
\index{callTypeArrayMethod@{callTypeArrayMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callTypeArrayMethod}]{\setlength{\rightskip}{0pt plus 5cm}PyObject$\ast$ callTypeArrayMethod (void $\ast$ {\em midUInt}, \/  va\_\-list {\em vl})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_a8fa7ee0be41ef931546614539866f6c4}


Generalizes call of the {\ttfamily convertJavaArrayToPythonArray} function and {\ttfamily JNI} {\ttfamily CallObjectMethod} function. 

This function calls {\ttfamily callJObjectMethod} with corresponding arguments and takes a {\ttfamily Java} array as result. Then this array converted to {\ttfamily Python} tuple using convertJavaArrayToPythonArray function.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method. \item[{\em vl}]Additional arguments to be passed in to the {\ttfamily Java} method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily PyObject$\ast$}. 
\end{DoxyReturn}


Definition at line 1085 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aeb06b15b0b7b498ece994c99b3f81960}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!callVoidMethod@{callVoidMethod}}
\index{callVoidMethod@{callVoidMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{callVoidMethod}]{\setlength{\rightskip}{0pt plus 5cm}void callVoidMethod (void $\ast$ {\em midUInt}, \/   {\em ...})}\hfill}
\label{_python_calls_java_8cc_aeb06b15b0b7b498ece994c99b3f81960}


Invokes an instance method, specified using a method ID. 

Programmers place all arguments that are to be passed to the method immediately following the {\ttfamily midUInt} argument. The {\ttfamily callVoidMethod} function accepts these arguments, converts and passes them to the method that the programmer would like to be invoked. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]An ID of the method, returned by {\ttfamily getMethod} function. \item[{\em ...}]Arguments to be passed in to the invokable method of the {\ttfamily Java} class. \end{DoxyParams}


Definition at line 692 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a32d01c592fb3c6e7a8112ce2ea19183f}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!check\_\-midUInt@{check\_\-midUInt}}
\index{check\_\-midUInt@{check\_\-midUInt}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{check\_\-midUInt}]{\setlength{\rightskip}{0pt plus 5cm}bool check\_\-midUInt (void $\ast$ {\em midUInt})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_a32d01c592fb3c6e7a8112ce2ea19183f}


Validates ID of the method. 

Parses signature in to the {\ttfamily \hyperlink{structmthd_sign}{mthdSign}} type. To identify type {\ttfamily String} used symbol {\itshape L\/} without suffix(path to the class).


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if ID is valid, false otherwise. 
\end{DoxyReturn}


Definition at line 314 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a3a81e7d58cdb84e5f0aa2ae685d69bb0}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!destroyEnvironment@{destroyEnvironment}}
\index{destroyEnvironment@{destroyEnvironment}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{destroyEnvironment}]{\setlength{\rightskip}{0pt plus 5cm}void destroyEnvironment ()}\hfill}
\label{_python_calls_java_8cc_a3a81e7d58cdb84e5f0aa2ae685d69bb0}


Unloads {\ttfamily Java} class from the memory and destroys {\ttfamily JVM}. 

If they were errors they will be printed to the standard error output. 

Definition at line 1346 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aa5069e2ed1f9526484d49b722953f397}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!destroyVM@{destroyVM}}
\index{destroyVM@{destroyVM}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{destroyVM}]{\setlength{\rightskip}{0pt plus 5cm}void destroyVM ()}\hfill}
\label{_python_calls_java_8cc_aa5069e2ed1f9526484d49b722953f397}


Destroys {\ttfamily Java} {\ttfamily Virtual} {\ttfamily Machine}. 

This function used when internal error occured and JVM should be destroyed. Return code is -\/1. 

Definition at line 1362 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a6c6824670f9624721a272f163e020408}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!getJArray@{getJArray}}
\index{getJArray@{getJArray}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{getJArray}]{\setlength{\rightskip}{0pt plus 5cm}jobject getJArray (char {\em type}, \/  int {\em sizeArrayPos}, \/  va\_\-list {\em vl})}\hfill}
\label{_python_calls_java_8cc_a6c6824670f9624721a272f163e020408}


Generalizes call of the {\ttfamily convertPythonArrayToJavaArray} function. 

This function is needed to convert a native {\ttfamily C++} array in to the {\ttfamily Java} array. Depend on the {\itshape type\/} of the array {\ttfamily convertPythonArrayToJavaArray} invoked for this type of the array.


\begin{DoxyParams}{Parameters}
\item[{\em type}]Type of the elementns of the array. \item[{\em sizeArrayPos}]Position in the {\ttfamily arraysSize} array. \item[{\em vl}]Pointer to the array in the variable list.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily Java} array as {\ttfamily jobject}. 
\end{DoxyReturn}


Definition at line 441 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a27596895923d8dd22bfe8acc49234abe}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!getMethod@{getMethod}}
\index{getMethod@{getMethod}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{getMethod}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ getMethod (const char $\ast$ {\em mName}, \/  const char $\ast$ {\em mSign})}\hfill}
\label{_python_calls_java_8cc_a27596895923d8dd22bfe8acc49234abe}


Gets an ID of the method and returns pointer to it. Pointer in {\ttfamily Python} is stored like a number. 

Checks if ID of the given method is already in the {\ttfamily usedIDs} maps than returns ID from the map, else invokes {\ttfamily getMethodIDSafe}, puts ID in the map and returns it. In {\ttfamily Python} this value is stored as {\ttfamily ctypes.c\_\-void\_\-p}. If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em mName}]Name of the method in the class. \item[{\em mSign}]Signature of the method in the class. See {\ttfamily JNI} documentation for information about composing it.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to the method ID. 
\end{DoxyReturn}


Definition at line 228 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a8577bb598f76ce878e916374f107b570}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!getMethodIDSafe@{getMethodIDSafe}}
\index{getMethodIDSafe@{getMethodIDSafe}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{getMethodIDSafe}]{\setlength{\rightskip}{0pt plus 5cm}jmethodID getMethodIDSafe (const char $\ast$ {\em methodName}, \/  const char $\ast$ {\em methodSig})}\hfill}
\label{_python_calls_java_8cc_a8577bb598f76ce878e916374f107b570}


Takes a jmethodID of the method by it's name and signature and validates it. 

If not valid, then destroy {\ttfamily JVM}.


\begin{DoxyParams}{Parameters}
\item[{\em methodName}]name of the method \item[{\em methodSig}]signature of the method\end{DoxyParams}
\begin{DoxyReturn}{Returns}
ID of the method -\/ {\ttfamily jmethodID} 
\end{DoxyReturn}


Definition at line 113 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a83ade9271b74a54cf1d53dd4574553bd}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!getMethodSignature@{getMethodSignature}}
\index{getMethodSignature@{getMethodSignature}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{getMethodSignature}]{\setlength{\rightskip}{0pt plus 5cm}std::string getMethodSignature (void $\ast$ {\em midUInt})}\hfill}
\label{_python_calls_java_8cc_a83ade9271b74a54cf1d53dd4574553bd}


Takes signature of the method from {\itshape jmIDSignature\/} map by it's ID. 


\begin{DoxyParams}{Parameters}
\item[{\em midUInt}]ID of the method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Signature of the method as string. 
\end{DoxyReturn}


Definition at line 664 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a4ffcd31c6b497b6f63c7abc34e9672ad}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!loadJavaClass@{loadJavaClass}}
\index{loadJavaClass@{loadJavaClass}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{loadJavaClass}]{\setlength{\rightskip}{0pt plus 5cm}void loadJavaClass (const char $\ast$ {\em javaClassName})}\hfill}
\label{_python_calls_java_8cc_a4ffcd31c6b497b6f63c7abc34e9672ad}


Loads a {\ttfamily Java} class in to the memory. 

If they were errors they will be printed to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em javaClassName}]Path to the {\ttfamily Java} class to be loaded without suffix {\ttfamily }.class. \end{DoxyParams}


Definition at line 190 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a8ab3a435f8f413654bc0801001d3cda9}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!parseSignature@{parseSignature}}
\index{parseSignature@{parseSignature}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{parseSignature}]{\setlength{\rightskip}{0pt plus 5cm}{\bf mthdSign} parseSignature (std::string {\em signature})}\hfill}
\label{_python_calls_java_8cc_a8ab3a435f8f413654bc0801001d3cda9}


Parses signature. 

Parses signature in to the {\ttfamily \hyperlink{structmthd_sign}{mthdSign}} type. To identify type {\ttfamily String} used symbol {\itshape L\/} without suffix(path to the class).


\begin{DoxyParams}{Parameters}
\item[{\em signature}]Signature of the method.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Parsed signature stored in the {\ttfamily \hyperlink{structmthd_sign}{mthdSign}}. 
\end{DoxyReturn}


Definition at line 258 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ad99601dff0a42852bc408d860ccbf358}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!setSizeOfArrays@{setSizeOfArrays}}
\index{setSizeOfArrays@{setSizeOfArrays}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{setSizeOfArrays}]{\setlength{\rightskip}{0pt plus 5cm}void setSizeOfArrays (unsigned int {\em size}, \/  unsigned int $\ast$ {\em arrays})}\hfill}
\label{_python_calls_java_8cc_ad99601dff0a42852bc408d860ccbf358}


Sets size of passed to the AmiCo function array(s). 

If they were errors they would be emitted to the standard error output.


\begin{DoxyParams}{Parameters}
\item[{\em size}]Number of elements in array, that will be passed to this method. In other words {\ttfamily size} should be equal to the number of arrays that will be passed to the following function. \item[{\em arrays}]Array of length {\ttfamily size} of integers where each element means size of appropriate array in the following function.\end{DoxyParams}
\begin{DoxyAttention}{Attention}
This function should be invoked before calling of the method that takes arrays as arguments. 
\end{DoxyAttention}


Definition at line 1056 of file PythonCallsJava.cc.



\subsubsection{Variable Documentation}
\hypertarget{_python_calls_java_8cc_aaf82e267c954d30710a4a365cdb715f8}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!arraysSize@{arraysSize}}
\index{arraysSize@{arraysSize}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{arraysSize}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int$\ast$ {\bf arraysSize}}\hfill}
\label{_python_calls_java_8cc_aaf82e267c954d30710a4a365cdb715f8}


Dynamic array keeping number of elements in corresponding array in method args. 

Function {\ttfamily setArraySize} must be invoked before calling of the method that takes arrays as arguments. 

Definition at line 97 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ae6f0d0cd46e56b7e299b489cb60dd27e}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!env@{env}}
\index{env@{env}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{env}]{\setlength{\rightskip}{0pt plus 5cm}JNIEnv$\ast$ {\bf env} = NULL\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_ae6f0d0cd46e56b7e299b489cb60dd27e}
Pointer to the {\ttfamily JNIEnv} 

Definition at line 58 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a5792920d3d8188af9a80a3eca7886d23}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!funcSeparator@{funcSeparator}}
\index{funcSeparator@{funcSeparator}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{funcSeparator}]{\setlength{\rightskip}{0pt plus 5cm}const char {\bf funcSeparator} = '\#'}\hfill}
\label{_python_calls_java_8cc_a5792920d3d8188af9a80a3eca7886d23}
Separator between function name and signature 

Definition at line 99 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a342134da4f7dd0344f4f02af36baa5da}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!jClass@{jClass}}
\index{jClass@{jClass}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{jClass}]{\setlength{\rightskip}{0pt plus 5cm}jclass {\bf jClass}\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_a342134da4f7dd0344f4f02af36baa5da}
Pointer to the loaded {\ttfamily Java} class 

Definition at line 61 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_a7a2415b8319fe15dab12047468d7673e}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!jmIDSignature@{jmIDSignature}}
\index{jmIDSignature@{jmIDSignature}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{jmIDSignature}]{\setlength{\rightskip}{0pt plus 5cm}std::map$<$jmethodID, std::string$>$ {\bf jmIDSignature}\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_a7a2415b8319fe15dab12047468d7673e}
Associates ID of the method and it's signature. 

Definition at line 66 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ae8e48b7427f5ca0ab2b6c21d5df648c8}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!jvm@{jvm}}
\index{jvm@{jvm}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{jvm}]{\setlength{\rightskip}{0pt plus 5cm}JavaVM$\ast$ {\bf jvm}\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_ae8e48b7427f5ca0ab2b6c21d5df648c8}
Pointer to the {\ttfamily JVM} 

Definition at line 59 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ac1aab4da7801a077a88fb9cb05c737c5}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!JVM\_\-VERSION@{JVM\_\-VERSION}}
\index{JVM\_\-VERSION@{JVM\_\-VERSION}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{JVM\_\-VERSION}]{\setlength{\rightskip}{0pt plus 5cm}const int {\bf JVM\_\-VERSION} = 0x00010004}\hfill}
\label{_python_calls_java_8cc_ac1aab4da7801a077a88fb9cb05c737c5}
Version of the {\ttfamily Java} {\ttfamily Virtual} {\ttfamily Machine}. 

Definition at line 56 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_aa793a9cac000767559a9e52b6e96d127}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!obj@{obj}}
\index{obj@{obj}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{obj}]{\setlength{\rightskip}{0pt plus 5cm}jobject {\bf obj}\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_aa793a9cac000767559a9e52b6e96d127}
Main object 

Definition at line 62 of file PythonCallsJava.cc.

\hypertarget{_python_calls_java_8cc_ab9ebfb29facb4ab432768d7f3e22eb42}{
\index{PythonCallsJava.cc@{PythonCallsJava.cc}!usedIDs@{usedIDs}}
\index{usedIDs@{usedIDs}!PythonCallsJava.cc@{PythonCallsJava.cc}}
\paragraph[{usedIDs}]{\setlength{\rightskip}{0pt plus 5cm}std::map$<$std::string, jmethodID$>$ {\bf usedIDs}\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}\hfill}
\label{_python_calls_java_8cc_ab9ebfb29facb4ab432768d7f3e22eb42}


Name of the method is a string consists from three parts: name of the method, {\ttfamily funcSeparator} and signature. 

Associates name of the method and it's ID. 

Definition at line 65 of file PythonCallsJava.cc.

